package com.baitai.system.domain;

import java.math.BigDecimal;
import java.util.List;

import com.baitai.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baitai.common.annotation.Excel;

/**
 * 商品订单对象 product_orders
 *
 * @author xx
 * @date 2024-07-21
 */
public class ProductOrders extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    private Long orderId;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;

    /**
     * 用户名称
     */
    @Excel(name = "用户名称")
    private String userName;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private Long orderNumber;

    /**
     * 订单总金额
     */
    @Excel(name = "订单总金额")
    private BigDecimal totalAmount;

    /**
     * 地址id
     */
    @Excel(name = "地址id")
    private Long addressId;

    /**
     * 支付状态
     */
    @Excel(name = "支付状态")
    private String paymentStatus;

    /**
     * 物流状态
     */
    @Excel(name = "物流状态")
    private String shippingStatus;

    /**
     * 物流单号
     */
    @Excel(name = "物流单号")
    private String shippingNumber;

    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String shippingCompany;

    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String ordersType;
    private SysUseConsigneeInfo sysUseConsigneeInfo;

    /**
     * 订单明细信息
     */
    private List<ProductOrderDetails> productOrderDetailsList;
    private List<ShippingRecord> shippingRecordList;

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }

    public void setOrderNumber(Long orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Long getOrderNumber() {
        return orderNumber;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setAddressId(Long addressId) {
        this.addressId = addressId;
    }

    public Long getAddressId() {
        return addressId;
    }

    public void setPaymentStatus(String paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public String getPaymentStatus() {
        return paymentStatus;
    }

    public void setShippingStatus(String shippingStatus) {
        this.shippingStatus = shippingStatus;
    }

    public String getShippingStatus() {
        return shippingStatus;
    }

    public void setShippingNumber(String shippingNumber) {
        this.shippingNumber = shippingNumber;
    }

    public String getShippingNumber() {
        return shippingNumber;
    }

    public void setShippingCompany(String shippingCompany) {
        this.shippingCompany = shippingCompany;
    }

    public String getShippingCompany() {
        return shippingCompany;
    }

    public void setOrdersType(String ordersType) {
        this.ordersType = ordersType;
    }

    public String getOrdersType() {
        return ordersType;
    }

    public List<ProductOrderDetails> getProductOrderDetailsList() {
        return productOrderDetailsList;
    }

    public void setProductOrderDetailsList(List<ProductOrderDetails> productOrderDetailsList) {
        this.productOrderDetailsList = productOrderDetailsList;
    }

    public List<ShippingRecord> getShippingRecordList() {
        return shippingRecordList;
    }

    public void setShippingRecordList(List<ShippingRecord> shippingRecordList) {
        this.shippingRecordList = shippingRecordList;
    }

    public SysUseConsigneeInfo getSysUseConsigneeInfo() {
        return sysUseConsigneeInfo;
    }

    public void setSysUseConsigneeInfo(SysUseConsigneeInfo sysUseConsigneeInfo) {
        this.sysUseConsigneeInfo = sysUseConsigneeInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("orderId", getOrderId())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("orderNumber", getOrderNumber())
                .append("totalAmount", getTotalAmount())
                .append("addressId", getAddressId())
                .append("paymentStatus", getPaymentStatus())
                .append("shippingStatus", getShippingStatus())
                .append("shippingNumber", getShippingNumber())
                .append("shippingCompany", getShippingCompany())
                .append("ordersType", getOrdersType())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("productOrderDetailsList", getProductOrderDetailsList())
                .toString();
    }
}
